package ejb.contentManagement;

import java.util.List;

import ejb.dto.HotelAvailabilityDTO;

public interface HotelAvailabilityMgr {
	/**
	 * Return HotelAvailabilityDTO of HotelAvailability identified by <code>id</code>
	 * @param id
	 * @return HotelAvailabilityDTO
	 */
	HotelAvailabilityDTO getHotelAvailabilityDTO(int id);

	/**
	 * Return all HotelAvailabilityDTO
	 * @return all HotelAvailabilityDTO
	 */
	List<HotelAvailabilityDTO> getAllHotelAvailabilitiesDTO();

	/**
	 * Delete HotelAvailability identified by <code>id</code> from database
	 * @param id
	 * @return <true> if the operation on database is successful, <false> if not
	 */
	boolean deleteHotelAvailability(int id);

	/**
	 * Insert HotelAvailability identified by <code>newHotelAvailability</code> in database
	 * @param newHotelAvailability
	 * @return <true> if the operation on database is successful, <false> if not
	 */
	boolean insertHotelAvailability(HotelAvailabilityDTO newHotelAvailability);

	/**
	 * Update HotelAvailability identified by <code>updatedHotelAvailability</code> in database
	 * @param updatedHotelAvailability
	 * @return <true> if the operation on database is successful, <false> if not
	 */
	boolean updateHotelAvailability(HotelAvailabilityDTO updatedHotelAvailability);

	/**
	 * Return all HotelAvailabilityDTO of Hotel identified by <code>hotelId</code>
	 * @param hotelId
	 * @return all HotelAvailabilityDTO of one Hotel
	 */
	List<HotelAvailabilityDTO> getAllHotelAvailabilitiesDTO(int hotelId);

}
